USE [CimpuGestV10]
GO
/****** Object:  StoredProcedure [dbo].[sp_listar_clientes]    Script Date: 05/28/2013 00:27:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:Pedro Gimenez		
-- Create date: 
-- Description:Procedimiento que lista clientes	
-- =============================================
CREATE PROCEDURE [dbo].[sp_listar_clientes](@opcion int, @filtro varchar(50))
	
AS
begin
IF (@opcion = 0) /* Filtra por Nombre del cliente */
	BEGIN
		SELECT DISTINCT vw.cod_cliente, vw.nombre, vw.apellido, vw.tipo_cliente, vw.descripcion
			FROM vw_listar_clientes vw
			WHERE UPPER(vw.nombre) LIKE ('%' + UPPER(@filtro) + '%')
			ORDER BY vw.cod_cliente
	END
	ELSE IF (@opcion = 1) /* Filtra por Apellido*/
    BEGIN
		SELECT DISTINCT vw.cod_cliente, vw.nombre, vw.apellido, vw.tipo_cliente, vw.descripcion
			FROM vw_listar_clientes vw
			WHERE UPPER(vw.apellido) LIKE ('%' + UPPER(@filtro) + '%')
			ORDER BY vw.cod_cliente
	END
	ELSE IF (@opcion = 2) /* Filtra por Tipo de Cliente*/
	BEGIN
		SELECT DISTINCT vw.cod_cliente, vw.nombre, vw.apellido, vw.tipo_cliente, vw.descripcion
			FROM vw_listar_clientes vw
			WHERE UPPER(vw.tipo_cliente) LIKE ('%' + UPPER(@filtro) + '%')
			ORDER BY vw.cod_cliente
	END
	ELSE IF (@opcion = 3) /* Filtra por Tipo de Cliente*/
	BEGIN
		SELECT DISTINCT vw.cod_cliente, vw.nombre, vw.apellido, vw.tipo_cliente, vw.descripcion
			FROM vw_listar_clientes vw
			WHERE UPPER(vw.descripcion) LIKE ('%' + UPPER(@filtro) + '%')
			ORDER BY vw.cod_cliente
	END
    else
    begin /* Sino trae todos los depositos*/
     SELECT DISTINCT vw.cod_cliente, vw.nombre, vw.apellido, vw.tipo_cliente, vw.descripcion
			FROM vw_listar_clientes  vw
			ORDER BY vw.cod_cliente
			
    end
end
return
